1 DELETE

predictors <- stack(c(
  "../../Daten/Raster/height_raster.grd",
  "../../Daten/Raster/temp_raster.grd",
  "../../Daten/Raster/rain_raster.grd",
  "../../Daten/Raster/distance_water_raster.grd",
  "../../Daten/Raster/distance_loess_raster.grd",
  "../../Daten/Raster/frostdays_raster.grd",
  "../../Daten/Raster/sunhours_raster.grd",
  "../../Daten/Raster/corine_raster.grd",
  "../../Daten/Raster/tpi_raster.grd",
  "../../Daten/Raster/slope_raster.grd",
  "../../Daten/Raster/aspect_raster.grd"))

predictors <- stack(c(
  predictors[[1]]/100,
  predictors[[2]],
  predictors[[3]],
  predictors[[4]]/1000,
  predictors[[5]]/1000,
  predictors[[6]],
  predictors[[7]],
  predictors[[8]],
  predictors[[9]],
  predictors[[10]],
  predictors[[11]]
  ))

2 MaxEnt

2.1 Presence Data

  • Load Data and Change Coordinates to Numeric
presence <- readRDS("../../Daten/Daten_mit_Epoche.RDS")
presence$lng_wgs84 <- as.numeric(as.character(presence$lng_wgs84))
presence$lat_wgs84 <- as.numeric(as.character(presence$lat_wgs84))
  • Filter for Eisenzeit and Type and Select Coordinates
# All Types
presence_all <- filter(presence, Epoche %in% c("Latènezeit", "Hallstattzeit"))
presence_all <- presence_all[6:7]

# Siedlung
presence_s <- filter(presence, Siedlung == TRUE)
presence_s <- presence_s[6:7]

# Viereckschanze
presence_v <- filter(presence, Typ == "Viereckschanze")
presence_v <- presence_v[6:7]

2.2 Preparation for MaxEnt

  • Split into Training and Testing Set
set.seed(12345)

# All Types
group <- kfold(presence_all, 5)
presence_train_all <- presence_all[group != 1, ]
presence_test_all <- presence_all[group == 1, ]

# Siedlung
group <- kfold(presence_s, 5)
presence_train_s <- presence_s[group != 1, ]
presence_test_s <- presence_s[group == 1, ]

# Viereckschanze
group <- kfold(presence_v, 5)
presence_train_v <- presence_v[group != 1, ]
presence_test_v <- presence_v[group == 1, ]

2.3 MaxEnt Model

2.3.1 All Types

  • Fit Model
model_maxent_all <- maxent(predictors, presence_train_all,
                           factors = c("corine", "aspect"), 
                           nbg = nrow(presence_train_all), remove.duplicates = T, 
                           args = c("responsecurves"))#,
                           #path = "Maxent")
  • Variable Importance
plot(model_maxent_all)

  • Density
#density(model_maxent_all)
  • Response Curve
response(model_maxent_all)

  • Prediction
pred_maxent_all <- predict(model_maxent_all, predictors)
plot(pred_maxent_all)

print(pred_maxent_all)
## class       : RasterLayer 
## dimensions  : 396, 584, 231264  (nrow, ncol, ncell)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : 8.975, 13.84167, 47.26667, 50.56667  (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
## data source : in memory
## names       : layer 
## values      : 0.00182571, 0.9150389  (min, max)
  • Evaluation
bg <- randomPoints(predictors, nrow(presence_test_all))
eval_maxent_all <- evaluate(model_maxent_all, p = presence_test_all, a = bg, x = predictors)
threshold(eval_maxent_all)
plot(eval_maxent_all, "ROC")

boxplot(eval_maxent_all)

print(eval_maxent_all)
## class          : ModelEvaluation 
## n presences    : 1627 
## n absences     : 1604 
## AUC            : 0.7721398 
## cor            : 0.4738088 
## max TPR+TNR at : 0.5978175

2.3.2 Siedlung

  • Fit Model
model_maxent_s <- maxent(predictors, presence_train_s,
                           factors = c("corine", "aspect"), 
                           nbg = nrow(presence_train_s), remove.duplicates = T, 
                           args = c("responsecurves"))#,
                           #path = "Maxent")
  • Variable Importance
plot(model_maxent_s)

  • Density
#density(model_maxent_s)
  • Response Curve
response(model_maxent_s)

  • Prediction
pred_maxent_s <- predict(model_maxent_s, predictors)
plot(pred_maxent_s)

print(pred_maxent_s)
## class       : RasterLayer 
## dimensions  : 396, 584, 231264  (nrow, ncol, ncell)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : 8.975, 13.84167, 47.26667, 50.56667  (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
## data source : in memory
## names       : layer 
## values      : 0.00201724, 0.9728789  (min, max)
  • Evaluation
bg <- randomPoints(predictors, nrow(presence_test_s))
eval_maxent_s <- evaluate(model_maxent_s, p = presence_test_s, a = bg, x = predictors)
threshold(eval_maxent_s)
plot(eval_maxent_s, "ROC")

boxplot(eval_maxent_s)

print(eval_maxent_s)
## class          : ModelEvaluation 
## n presences    : 4423 
## n absences     : 4360 
## AUC            : 0.811101 
## cor            : 0.5406793 
## max TPR+TNR at : 0.5496428

2.3.3 Viereckschanze

  • Fit Model
model_maxent_v <- maxent(predictors, presence_train_v,
                           factors = c("corine", "aspect"), 
                           nbg = nrow(presence_train_v), remove.duplicates = T, 
                           args = c("responsecurves"))#,
                           #path = "Maxent")
  • Variable Importance
plot(model_maxent_v)

  • Density
#density(model_maxent_v)
  • Response Curve
response(model_maxent_v)

  • Prediction
pred_maxent_v <- predict(model_maxent_v, predictors)
plot(pred_maxent_v)

print(pred_maxent_v)
## class       : RasterLayer 
## dimensions  : 396, 584, 231264  (nrow, ncol, ncell)
## resolution  : 0.008333333, 0.008333333  (x, y)
## extent      : 8.975, 13.84167, 47.26667, 50.56667  (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
## data source : in memory
## names       : layer 
## values      : 3.980449e-05, 0.9782532  (min, max)
  • Evaluation
bg <- randomPoints(predictors, nrow(presence_test_v))
eval_maxent_v <- evaluate(model_maxent_v, p = presence_test_v, a = bg, x = predictors)
threshold(eval_maxent_v)
plot(eval_maxent_v, "ROC")

boxplot(eval_maxent_v)

print(eval_maxent_v)
## class          : ModelEvaluation 
## n presences    : 78 
## n absences     : 78 
## AUC            : 0.7803254 
## cor            : 0.5350677 
## max TPR+TNR at : 0.4643557